package com.joker.demo.admin.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 任务执行详情VO
 *
 * @author : feixiang.li
 * @since : 2025-07-26 19:38
 */
@Data
public class JobExecutionDetailVO implements Serializable {

    /**
     * 日志ID
     */
    private Integer id;

    /**
     * 触发时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date triggerTime;

    /**
     * 执行开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    /**
     * 执行结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    /**
     * 执行状态
     */
    private Integer triggerCode;

    /**
     * 执行状态描述
     */
    private String triggerCodeDesc;

    /**
     * 触发结果
     */
    private Integer triggerResult;

    /**
     * 触发结果描述
     */
    private String triggerResultDesc;

    /**
     * 执行器地址
     */
    private String executorAddress;

    /**
     * 执行器Handler
     */
    private String executorHandler;

    /**
     * 执行参数
     */
    private String executorParam;

    /**
     * 耗时(ms)
     */
    private Long timeCost;

    /**
     * 触发日志
     */
    private String triggerMsg;

    /**
     * 执行日志
     */
    private String handleMsg;
}
